package com.heima.lock.sjms.工厂模式.简单工厂;

/*
    工厂核心职责： 专门对外生产指定类型的数据。
    好处：解耦，程序通用，灵活
    主要应用场景：框架。
 */

import java.io.FileReader;
import java.util.Properties;

public class StudentDaoFactory {


    public static StudentDao getStudentDao(){

        try {
            //1. 使用Properties读取application.properties配置信息到内存
            Properties properties = new Properties();
            FileReader fr = new FileReader("D:\\IdeaProjects\\heima-leadnews\\heima-leadnews-test\\javaSE-demo\\src\\main\\resources\\application.properties");
            properties.load(fr);
            fr.close();

            //2. 根据配置来进行反射创建对象的dao对象并返回
            String className = properties.getProperty("studentDao");
            Class clazz = Class.forName(className);
            StudentDao bean = (StudentDao) clazz.newInstance();

            return bean;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }

    }

}
